package tedu.study.day02;

public class Day02Test {
    public static void main(String[] args) {
        int a = 0;
        System.out.println(a);
        //int b;
        //System.out.println(b);

        int a_$5;
        //int 5a_$;//数字不能开头
        int A_$5;//严格区分大小写
        //int public;//不能使用关键字
        //int 数量;//允许，但不建议，部分框架不支持中文
        //int shuliang;//允许，但不建议，不直观
        int num;//英文
        int myNum,myJavaNum;//小驼峰规则

        //八个基本数据类型
        //byte/short/int/long/float/double/boolean/char

        //int 整型，四个字节，-21亿——21亿
        //5/300/600000，整数直接量默认为int类型
        System.out.println(5/3);//小数位无条件舍弃
        int i$=200000000*100;
        System.out.println(i$);//运算后数据溢出

        //long 长整型，八个字节，-900万万亿——900万万亿
        long l$=56666l;//一般不用小写l
        l$=56666L;

        l$=100000000L*100*5;//因为运算中，默认为int类型，所以在可能溢出时，在第一个数字后加L
        System.out.println(l$);

        //double 浮点型，8个字节，很大很大很大
        double d$=29.645;
        float f$=29.645F;

        double d$1=6.2;
        double d$2 = 3.3;
        System.out.println(d$1-d$2);//不能精确表达数字，运算时会发生舍入误差，精确运算场合不能用

        //boolean 布尔型，1个字节，只存储true/flase
        boolean b$1 = true;
        boolean b$2 = false;

        //char 字符型，2个字节，采用unicode编码，一个字符对应一个码，表现形式时字符char，本质是码int
        //‘0’-48 ‘A’-65 ‘a’-97
        char c$='男';
        char c$1 = 'n';
        char c$2 = '1';
        char c$3 = ' ';
        char c$4 = '\\';
        char c$5 = '\'';

        //char c$6 = '';
        //char c$7 = 'aa';

        char c$8 =66;
        System.out.println(c$8);

        //数据间的转换，byte/short/int/long/float/double
        //byte/short/char
        //由小到大，自动转换、隐式转换
        int i_$ = 9;
        long l_$ = i_$;
        double d_$ = l_$;
        System.out.println(l_$);
        System.out.println(d_$);
        //由大到小，强制转换类型，可能会溢出或丢失精度
        double d$_ = 20000000000.6998;
        long l$_ = (long)d$_;
        int i$_ = (int)l$_;
        System.out.println(l$_);
        System.out.println(i$_);

        //整数直接量可以直接给byte/short/char赋值，但不能超出范围
        //byte b1 = 128;
        //short s1 = 36666;
        //char c1 = 68888;

        //byte/short/char参与运算时，系统一律先转换为int，再计算
        byte b$_1 = 5;
        byte b$_2 = 9;
        byte bb = (byte)(b$_1+b$_2);

        System.out.println('a');
        System.out.println('A'+'A');
        System.out.println(10+'A');

        char c_a = 'A';
        short s_a = (short)c_a;
        System.out.println(s_a);

        short s_a1 = 65;
        char c_a1 = (char)s_a1;
        System.out.println(c_a1);
    }
}
